<?php

/**
 * login actions.
 *
 * @package    www.sflast.com
 * @subpackage login
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
 */
class loginActions extends sfActions
{
  /**
   * Executes index action
   *
   */
  public function executeIndex()
  {
//echo "hoge"; exit;
      $this->mailaddress = $this->getRequestParameter('mailaddress');
      return sfView::SUCCESS;
  }

  public function executeSubmit()
  {
      $this->mailaddress = $this->getRequestParameter('mailaddress');
      $this->password = $this->getRequestParameter('password');

      //メールアドレスとパスワードを元にmemberテーブルのインスタンス取得
      if ($this->mailaddress !='' && $this->password !='') {
          $c = new Criteria;
          $c->add(AdmnmemberPeer::MAILADDRESS, $this->mailaddress);
          $c->add(AdmnmemberPeer::PASSWORD, $this->password);
          $member = AdmnmemberPeer::doSelectOne($c);
          //↑いずれもMemberPeerに書く予定
          //print_r($member);で出力確認
          if($member) {
              // ログイン状態にする
              $this->getUser()->setAuthenticated(true);
              $this->getUser()->clearCredentials();
              $this->getUser()->addCredential('member');

              // 会員情報をセッションにセット
              $this->getUser()->setAttribute('member_id', $member->getId(), sfConfig::get('sf_session_name'));
              $this->getUser()->setAttribute('nickname', $member->getNickname(), sfConfig::get('sf_session_name'));

              $this->redirect('/backend');
          }
          $this->errormsg = "あてはまるユーザが登録されていません";

          //$member = MemberPeer::retrieveByPassword($this->mailaddress, $this->password);はWEBTEXTが拡張して記載。省略する。
          //これは他の場所に上の処理を書いている場合の処理。ここにあるから不要。
      }

    $this->redirect("/");
    //$this->forward('default', 'module');
    //return sfView::SUCCESS;
  }
  //バリデーションに引っかかったら動く処理
  public function handleErrorSubmit() {
      $this->request->setParameter = $this->getRequestParameter('mailaddress', $this->getRequestParameter('mailaddress'));

      $this->forward("login", "index");
  }

}
